SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROC [dbo].[SP_TTAMAR_NCCL_D01]  
/*-------------------------------------------------------*/  
/*---Empresa              : OFISIS S.A.                --*/  
/*---Cliente              : OFISIS S.A.                --*/  
/*---Sistema              : Tesoreria                  --*/  
/*---M÷dulo               : Empresa                    --*/  
/*---Programa             : Anulaci¸n Aplicaci¸n       --*/  
/*---                       Notas Credito con Facturas --*/  
/*---Script               : SP_TTAMAR_NCCL_D01.SQL     --*/  
/*---Nombre SP            : SP_TTAMAR_NCCL_D01         --*/  
/*---Desarrollado por     : Denis Villacr's            --*/  
/*---Fecha Creaci÷n       : 10/08/2000                 --*/  
/*---Base Datos           : Microsoft Sql Server       --*/  
/*---Versi÷n              : 7.0                        --*/  
/*---Invoca a SP          :                            --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     :                            --*/  
/*---Fecha Modificaci÷n   :                            --*/   
/*---Detalle Modificaci÷n :                            --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Comentarios                                       --*/  
/*---                                                  --*/  
/*---                                                  --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Drop Proc SP_TTAMAR_NCCL_D01                      --*/  
/*---Grant all on SP_TTAMAR_NCCL_D01 to public         --*/   
/*---SP_TTAMAR_NCCL_D01                                --*/  
/*-------------------------------------------------------*/  
 @ISCO_EMPR       TD_VC_002,   
 @ISCO_USUA_MODI  TD_VC_008,  
 @ISNU_AMAR       TD_VC_008,   
 @ISCO_TIPO_OPER  TD_VC_003,  
 @ISCO_UNID_CONC  TD_VC_003,  
 @IDFE_AMAR   TD_DT_001
	As
DECLARE @CSTI_DOCU_DEST  TD_VC_003,   
         @CSNU_DOCU_DEST  TD_VC_020,    
         @CNIM_COBR_CDES  TD_NU_016_004,   
  @VNIM_TOTA_DOCU  TD_NU_016_004,   
  @CSCO_ENTI   TD_VC_020,   
         @CSTI_DOCU_ORIG  TD_VC_003,   
         @CSNU_DOCU_ORIG  TD_VC_020,   
         @CNIM_COBR_CORI  TD_NU_016_004,    
         @VSCO_MONE       TD_VC_003,  
         @VSCO_MONE_DOCU  TD_VC_003,  
         @VNFA_TIPO_CAMB  TD_NU_015_006,  
  @VSCO_MONE_DEFA  TD_VC_003,  
  @VSCO_MONE_EXTR  TD_VC_003,  
  @OSTI_DOCU_LETR  TD_VC_003  
  
  /***  PRIMERO LIBERA DOCUMENTOS  DESTINOS  ***/    
  
 BEGIN TRAN SP_TTAMAR_NCCA_D01  
  
     EXEC SP_TTDOCU_CNTB_Q02 6, @OSTI_DOCU_LETR OUTPUT  
  
     DECLARE CU_TTAMAR_NCCA_D01 CURSOR   
     FOR  
     SELECT CO_ENTI, CO_TIDO_DEST , NU_DOCU_DEST , Isnull (IM_COBR_CDES , 0)  
     FROM   TDAMAR_NCCL  
     WHERE  CO_EMPR = @ISCO_EMPR   
     AND    CO_UNID_CONC = @ISCO_UNID_CONC  
     AND    NU_AMAR  = @ISNU_AMAR   
     AND    FE_AMAR  = @IDFE_AMAR   
     AND    CO_TIDO_ORIG is NULL   
     AND    NU_DOCU_ORIG is NULL      
  
     OPEN CU_TTAMAR_NCCA_D01  
     FETCH  CU_TTAMAR_NCCA_D01 INTO @CSCO_ENTI, @CSTI_DOCU_DEST , @CSNU_DOCU_DEST , @CNIM_COBR_CDES  
  
     WHILE (@@FETCH_STATUS = 0)  
       BEGIN  
 IF (@@FETCH_STATUS < 0)  
       Begin  
      -- RAISERROR 20001 "FIN DE ARCHIVO"  
      Close CU_TTAMAR_NCCA_D01  
      DEALLOCATE CU_TTAMAR_NCCA_D01  
      Return              
           End  
  
            
 IF @CSTI_DOCU_DEST != @OSTI_DOCU_LETR  
   Update TMDOCU_CLIE   
   Set IM_PAGA = Isnull(IM_PAGA,0) - @CNIM_COBR_CDES , CO_ESTA_DOCU = 'ACT',  
          CO_USUA_MODI = @ISCO_USUA_MODI, FE_USUA_MODI = GETDATE()  
   WHERE CO_EMPR = @ISCO_EMPR   
          AND   CO_CLIE = @CSCO_ENTI   
          AND   CO_TIPO_DOCU = @CSTI_DOCU_DEST   
          AND   NU_DOCU_CLIE = @CSNU_DOCU_DEST  
 ELSE  
   Update TMLETR_CLIE   
   Set IM_PAGA = Isnull(IM_PAGA,0) - @CNIM_COBR_CDES , CO_ESTA_DOCU = 'ACE',  
     CO_USUA_MODI = @ISCO_USUA_MODI, FE_USUA_MODI = GETDATE()  
   WHERE CO_EMPR = @ISCO_EMPR   
          AND   CO_CLIE = @CSCO_ENTI   
          AND  NU_LETR_CLIE = @CSNU_DOCU_DEST   
  
 If @@error <> 0  
           Begin  
      CLOSE CU_TTAMAR_NCCA_D01  
      DEALLOCATE CU_TTAMAR_NCCA_D01  
             rollback tran   
             return  
         end  
  
 FETCH  CU_TTAMAR_NCCA_D01 INTO @CSCO_ENTI, @CSTI_DOCU_DEST , @CSNU_DOCU_DEST , @CNIM_COBR_CDES  
     END   
  
 CLOSE CU_TTAMAR_NCCA_D01  
 DEALLOCATE CU_TTAMAR_NCCA_D01  
  
 /* ********* LIBERA DOCUMENTOS ORIGENES  ********** */    
  
     DECLARE CU_TTAMAR_NCCA_D01 CURSOR   
     FOR  
     SELECT CO_ENTI, CO_TIDO_ORIG , NU_DOCU_ORIG , IM_COBR_CORI  
     FROM   TDAMAR_NCCL  
     WHERE  CO_EMPR = @ISCO_EMPR   
     AND    CO_UNID_CONC = @ISCO_UNID_CONC  
     AND    NU_AMAR  = @ISNU_AMAR   
     AND    FE_AMAR  = @IDFE_AMAR   
     AND    CO_TIDO_DEST is NULL   
     AND    NU_DOCU_DEST is NULL      
  
     OPEN CU_TTAMAR_NCCA_D01  
     FETCH  CU_TTAMAR_NCCA_D01 INTO @CSCO_ENTI, @CSTI_DOCU_ORIG , @CSNU_DOCU_ORIG , @CNIM_COBR_CORI  
  
     WHILE (@@FETCH_STATUS = 0)  
      BEGIN  
       IF (@@FETCH_STATUS < 0)  
      BEGIN  
   --  RAISERROR 20001 "FIN DE ARCHIVO"  
     CLOSE CU_TTAMAR_NCCA_D01  
     DEALLOCATE CU_TTAMAR_NCCA_D01  
     RETURN  
           END  
  
  
 UPDATE TMDOCU_CLIE   
 Set IM_PAGA = Isnull(IM_PAGA,0) - @CNIM_COBR_CORI , CO_ESTA_DOCU = 'ACT',  
        CO_USUA_MODI = @ISCO_USUA_MODI, FE_USUA_MODI = GETDATE()  
 WHERE CO_EMPR = @ISCO_EMPR   
        AND   CO_CLIE = @CSCO_ENTI   
        AND   CO_TIPO_DOCU = @CSTI_DOCU_ORIG   
        AND   NU_DOCU_CLIE = @CSNU_DOCU_ORIG  
  
 If @@error <> 0  
           Begin  
      CLOSE CU_TTAMAR_NCCA_D01  
      DEALLOCATE CU_TTAMAR_NCCA_D01  
             rollback tran   
             return  
           End  
  
       FETCH  CU_TTAMAR_NCCA_D01 INTO @CSCO_ENTI, @CSTI_DOCU_ORIG , @CSNU_DOCU_ORIG , @CNIM_COBR_CORI  
  
     END   
  
 CLOSE CU_TTAMAR_NCCA_D01  
 DEALLOCATE CU_TTAMAR_NCCA_D01  
  
  
 Insert into  TMREGI_ELIM (CO_EMPR, CO_TABL_ORIG, DE_TABL_ORIG,  
           CO_CLAV_TAOR, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)  
    select @ISCO_EMPR, 88, 'DETALLE APLICACI.N NCR A DOCUMENTOS CLIENTES',  
        RTRIM( @ISCO_EMPR )+ REPLICATE('#', 2-LEN(RTRIM(@ISCO_EMPR)))+   
        RTRIM( @ISNU_AMAR )+ REPLICATE('#', 8-LEN(RTRIM(@ISNU_AMAR)))+  
        RTRIM( NU_SECU )+ REPLICATE('#', 1-LEN(RTRIM(NU_SECU))), @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE()  
   From  TDAMAR_NCCL  
 Where  CO_EMPR = @ISCO_EMPR   
      AND    CO_UNID_CONC = @ISCO_UNID_CONC  
 AND    NU_AMAR  = @ISNU_AMAR   
      AND    FE_AMAR  = @IDFE_AMAR   
  
   If @@error <> 0  
      Begin  
        Rollback tran  
        Return  
      End      
  
    Delete TDAMAR_NCCL  
     Where CO_EMPR = @ISCO_EMPR   
     AND    CO_UNID_CONC = @ISCO_UNID_CONC  
     AND    NU_AMAR  = @ISNU_AMAR   
     AND    FE_AMAR  = @IDFE_AMAR   
  
    If @@error <> 0  
       Begin  
         Rollback tran  
         Return  
       End          
  
  
 Insert into  TMREGI_ELIM (CO_EMPR, CO_TABL_ORIG, DE_TABL_ORIG,  
           CO_CLAV_TAOR, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)   
    select @ISCO_EMPR, 21, 'CABECERA APLICACI.N NCR A DOCUMENTOS CLIENTES',  
        RTRIM( @ISCO_EMPR )+ REPLICATE('#', 2-LEN(RTRIM(@ISCO_EMPR)))+   
        RTRIM( @ISNU_AMAR )+ REPLICATE('#', 8-LEN(RTRIM(@ISNU_AMAR))), @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE()  
 From   TCAMAR_NCCL  
 Where  CO_EMPR = @ISCO_EMPR   
 AND    CO_UNID_CONC = @ISCO_UNID_CONC  
     AND    NU_AMAR  = @ISNU_AMAR   
      AND    FE_AMAR  = @IDFE_AMAR   
  
   If @@error <> 0  
      Begin  
        Rollback tran  
        Return  
      End      
  
  Delete TCAMAR_NCCL  
     Where CO_EMPR = @ISCO_EMPR   
     AND    CO_UNID_CONC = @ISCO_UNID_CONC  
     AND    NU_AMAR  = @ISNU_AMAR   
     AND    FE_AMAR  = @IDFE_AMAR   
   
    If @@error <> 0  
       Begin  
         Rollback tran  
         Return  
       End       
  
  
COMMIT TRAN   
  
/*------------------------ Fin ------------------------------*/


GO
